Early computer networks communicatively connected a small number of devices via cables. In contrast, modern computer networks may connect thousands of devices spread across large local areas, with the local area networks in turn being connected to form still larger networks such as, for example, the Internet.
Ethernet is the predominate standard applied to construct and access modern computer networks. Ethernet is promulgated by the Institute of Electrical and Electronics Engineers (IEEE) in various specifications as part of the IEEE 802 family of standards. Ethernet defines a number of wiring and signaling standards for the lower layers of the network. Ethernet networks carry all kinds of traffic over multiple types of physical connections (wired or wireless), including 10 mega-bits per second (Mbps), 100 Mbps, 1 giga-bits per second (Gbps), 10 Gbps, and 100 Gbps connections.
Internet Protocol (IP) is a computer network protocol that most networked devices apply on top of the lower level protocols (e.g., Ethernet protocols). The vast majority of networked devices support IP version 4 (IPv4) defined in RFC-791. IPv4 provides a 32 bit address field for each of the source and destination of a packet. IP version 6 (IPv6) defined in RFC-2460, provides a 128 bit source and destination address fields.
OPENFLOW is a software-defined networking protocol that splits the control plane and the data plane on network switches, and shifts the control plane to a centralized computer (i.e., a controller). Forwarding decisions are made by the controller, rather than a network device (e.g., a switch). The controller provides those decisions to the switch using the OPENFLOW application programming interface as an OPENFLOW flow. The controller is fully aware of the network topology because it communicates with all OPENFLOW enabled devices. The controller is not bound to any network hardware limitations or the software platform of a particular vendor.